/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.langage.commande.serveur.message.cor;

import com.lloseng.ocsf.server.AbstractServer;
import com.lloseng.ocsf.server.ConnectionToClient;

/**
 *
 * @author Touf
 */
public abstract class AbstractAnalyseurClientMessage {
   
	
	
	private AbstractAnalyseurClientMessage suivant;
	protected AbstractServer server;
	
	
	public AbstractAnalyseurClientMessage(AbstractAnalyseurClientMessage suivant, AbstractServer server) {
		
		this.suivant = suivant;
                this.server=server;
	}
	
		
	public void executeCommande(String chaine,ConnectionToClient client) throws Exception
	{ 
		
		boolean s = this.analyseCommande(chaine,client);       

		if  (s == true) 			
		return;

		else            			

		if  (this.suivant != null)  	
			
		this.suivant.executeCommande(chaine,client);  
		else {  
			
			throw new Exception();
		} 

	}
	
	protected abstract boolean analyseCommande(String chaine,ConnectionToClient client);

}
